package com.aspose.cells;

import java.util.ArrayList;

class zbvx extends CollectionBase {
   private boolean b = true;
   private WorksheetCollection c;

   zbvx(WorksheetCollection var1) {
      this.c = var1;
   }

   public Style a(int var1) {
      return (Style)this.a.get(var1);
   }

   public void a(int var1, Style var2) {
      this.a.set(var1, var2);
   }

   Style a(String var1) {
      if (var1 != null && !"".equals(var1)) {
         for(int var2 = this.a.size() - 1; var2 > -1; --var2) {
            if (this.a.get(var2) != null && com.aspose.cells.b.a.zv.b(((Style)this.a.get(var2)).getName(), var1)) {
               return (Style)this.a.get(var2);
            }
         }

         return null;
      } else {
         return null;
      }
   }

   int a(Style var1, int var2) {
      boolean var3 = var1.g();
      var1.b(true);
      int var4 = -1;

      for(int var6 = this.a.size() - 1; var6 > Math.max(14, var2); --var6) {
         if (this.a.get(var6) == null) {
            var4 = var6;
         } else {
            Style var5 = (Style)this.a.get(var6);
            if (var1 == var5 || var2 == var5.h() && var1.c(var5)) {
               return var6;
            }
         }
      }

      Style var7 = new Style(this.c);
      var7.copy(var1);
      var7.a(var2);
      var1.b(var3);
      return this.b(var7, var4);
   }

   int a(Style var1) {
      for(int var2 = this.a.size() - 1; var2 > 14; --var2) {
         if (this.a.get(var2) != null && var1.c((Style)this.a.get(var2))) {
            return var2;
         }
      }

      return -1;
   }

   int b(Style var1) {
      int var2 = -1;

      for(int var4 = this.a.size() - 1; var4 > 14; --var4) {
         if (this.a.get(var4) == null) {
            var2 = var4;
         } else {
            Style var3 = (Style)this.a.get(var4);
            if (var3.h() == 0 && var1.c(var3)) {
               return var4;
            }
         }
      }

      Style var5 = new Style(this.c);
      var5.copy(var1);
      return this.b(var5, var2);
   }

   int a(int var1, String var2, int var3) {
      Style var4;
      if (var3 >= 0 && var3 < this.getCount()) {
         var4 = (Style)this.a.get(var3);
      } else {
         var4 = (Style)this.a.get(15);
      }

      if (var1 == var4.getNumber()) {
         return var3;
      } else if (var2 != null && var2.equals(var4.getCustom())) {
         return var3;
      } else {
         Style var5 = new Style(this.c);
         var5.copy(var4);
         if (var1 > -1) {
            var5.setNumber(var1);
         } else {
            var5.setCustom(var2);
         }

         return this.c(var5);
      }
   }

   public int c(Style var1) {
      int var2 = -1;
      Style var3;
      int var4;
      int var5;
      int var7;
      Style var9;
      Style var10;
      if (var1.h() > 0 && var1.h() != 4095) {
         int var12;
         if (var1.e() != this.c) {
            var10 = var1.e().B().a(var1.h());
            String var11 = var10.getName();
            var12 = this.a.size() - 1;

            for(var7 = -1; var12 > -1; --var12) {
               if (this.a.get(var12) == null) {
                  var7 = var2;
                  var2 = var12;
               } else if (com.aspose.cells.b.a.zv.b(((Style)this.a.get(var12)).getName(), var11)) {
                  break;
               }
            }

            if (var12 < 0) {
               Style var16 = new Style(this.c);
               var16.copy(var10);
               var16.a(var10.getName());
               var16.a(false);
               var2 = this.b(var16, var2);
               var9 = new Style(this.c);
               var9.copy(var1);
               var9.a(true);
               var9.a(var2);
               return this.b(var9, var7);
            } else {
               int var15 = var12;

               for(var12 = this.a.size() - 1; var12 > var15; --var12) {
                  if (this.a.get(var12) == null) {
                     var2 = var12;
                  } else {
                     var3 = (Style)this.a.get(var12);
                     if (var1 == var3 || var15 == var3.h() && var1.c(var3)) {
                        return var12;
                     }
                  }
               }

               var9 = new Style(this.c);
               var9.copy(var1);
               var9.a(var15);
               return this.b(var9, var2);
            }
         } else {
            var4 = var1.h();
            var5 = Math.max(15, var4);

            for(var12 = this.a.size() - 1; var12 > var5; --var12) {
               if (this.a.get(var12) == null) {
                  var2 = var12;
               } else {
                  var3 = (Style)this.a.get(var12);
                  if (var1 == var3 || var4 == var3.h() && var1.c(var3)) {
                     return var12;
                  }
               }
            }

            Style var13 = new Style(this.c);
            var13.copy(var1);
            return this.b(var13, var2);
         }
      } else if (var1.getName() != null && !"".equals(var1.getName())) {
         var4 = this.a.size() - 1;
         var5 = -1;

         for(String var6 = var1.getName(); var4 > 15; --var4) {
            if (this.a.get(var4) == null) {
               var5 = var2;
               var2 = var4;
            } else if (com.aspose.cells.b.a.zv.b(((Style)this.a.get(var4)).getName(), var6)) {
               this.a.set(var4, var1);
               break;
            }
         }

         if (var4 < 0) {
            var1.a(false);
            var2 = this.b(var1, var2);
            Style var14 = new Style(this.c);
            var14.copy(var1);
            var14.a(true);
            var14.a((byte)0);
            var14.a(var2);
            return this.b(var14, var5);
         } else {
            var7 = var4;
            var1.a(true);
            byte var8 = var1.i();

            for(var4 = this.a.size() - 1; var4 > var7; --var4) {
               if (this.a.get(var4) == null) {
                  var2 = var4;
               } else {
                  var3 = (Style)this.a.get(var4);
                  if (var3.h() == var7 && var3.a(var1, var8)) {
                     var1.a(false);
                     return var4;
                  }
               }
            }

            var9 = new Style(this.c);
            var9.copy(var1);
            var9.a(true);
            var9.a((byte)0);
            var9.a(var7);
            var1.a(false);
            var1.a(var8);
            return this.b(var9, var2);
         }
      } else if (var1.c((Style)this.a.get(15))) {
         return 15;
      } else {
         for(var4 = this.a.size() - 1; var4 > 15; --var4) {
            if (this.a.get(var4) == null) {
               var2 = var4;
            } else {
               var3 = (Style)this.a.get(var4);
               if (var1 == var3 || var3.h() == 0 && var1.c(var3)) {
                  return var4;
               }
            }
         }

         var10 = new Style(this.c);
         var10.copy(var1);
         return this.b(var10, var2);
      }
   }

   int d(Style var1) {
      com.aspose.cells.b.a.a.ze.a(this.a, (Object)var1);
      return this.a.size() - 1;
   }

   int e(Style var1) {
      com.aspose.cells.b.a.a.ze.a(this.a, (Object)var1);
      return this.a.size() - 1;
   }

   int f(Style var1) {
      int var2 = this.a.size();

      for(int var3 = 15; var3 < var2; ++var3) {
         if (this.a.get(var3) == null) {
            this.a.set(var3, var1);
            return var3;
         }
      }

      com.aspose.cells.b.a.a.ze.a(this.a, (Object)var1);
      return var2;
   }

   int g(Style var1) {
      var1.a(false);
      String var2 = var1.getName();
      int var3 = -1;

      for(int var4 = this.a.size() - 1; var4 > -1; --var4) {
         if (this.a.get(var4) == null) {
            var3 = var4;
         } else if (com.aspose.cells.b.a.zv.b(((Style)this.a.get(var4)).getName(), var2)) {
            return var4;
         }
      }

      return this.b(var1, var3);
   }

   int h(Style var1) {
      var1.a(false);
      String var2 = var1.getName();
      int var3 = -1;

      for(int var4 = this.a.size() - 1; var4 > -1; --var4) {
         if (this.a.get(var4) == null) {
            var3 = var4;
         } else if (com.aspose.cells.b.a.zv.b(((Style)this.a.get(var4)).getName(), var2)) {
            this.a.set(var4, var1);
            return var4;
         }
      }

      return this.b(var1, var3);
   }

   void a(zbvx var1) {
      this.clear();
      int var2 = var1.a.size();

      for(int var3 = 0; var3 < var2; ++var3) {
         if (var1.a.get(var3) == null) {
            com.aspose.cells.b.a.a.ze.a(this.a, (Object)null);
         } else {
            Style var4 = new Style(this.c);
            Style var5 = (Style)var1.a.get(var3);
            var4.copy(var5);
            var4.a(var5.h());
            var4.a(var5.getName());
            com.aspose.cells.b.a.a.ze.a(this.a, (Object)var4);
         }
      }

   }

   void a() {
      ArrayList var1 = this.c.z();

      for(int var2 = 0; var2 < 5; ++var2) {
         Font var3 = new Font(this.c, (Object)null, false);
         var3.d(var2);
         if (var2 == 4) {
            var2 = 5;
         }

         com.aspose.cells.b.a.a.ze.a(var1, (Object)var3);
      }

   }

   void b() {
      ArrayList var1 = this.c.z();

      for(int var2 = 0; var2 < 5; ++var2) {
         Font var3 = new Font(this.c, (Object)null, false);
         var3.d(var2);
         if (var2 == 4) {
            var2 = 5;
         }

         com.aspose.cells.b.a.a.ze.a(var1, (Object)var3);
      }

      Style var4 = new Style(this.c);
      var4.a(false);
      var4.a("Normal");
      var4.getFont().d(0);
      var4.setNumber(0);
      var4.a((byte)-4);
      com.aspose.cells.b.a.a.ze.a(this.a, (Object)var4);

      int var5;
      for(var5 = 0; var5 < 2; ++var5) {
         var4 = new Style(this.c);
         var4.a(false);
         var4.getFont().d(1);
         var4.setNumber(0);
         var4.a((byte)8);
         com.aspose.cells.b.a.a.ze.a(this.a, (Object)var4);
      }

      for(var5 = 0; var5 < 2; ++var5) {
         var4 = new Style(this.c);
         var4.a(false);
         var4.getFont().d(2);
         var4.setNumber(0);
         var4.a((byte)8);
         com.aspose.cells.b.a.a.ze.a(this.a, (Object)var4);
      }

      for(var5 = 0; var5 < 16; ++var5) {
         var4 = new Style(this.c);
         var4.getFont().d(0);
         if (var5 == 10) {
            var4.a(true);
         } else {
            var4.a(false);
         }

         switch(var5) {
         case 10:
            var4.a((byte)0);
            break;
         case 11:
            var4.setNumber(9);
            var4.a("Percent");
            var4.a((byte)4);
            break;
         case 12:
            var4.setNumber(44);
            var4.a("Currency");
            var4.a((byte)4);
            break;
         case 13:
            var4.setNumber(42);
            var4.a("Currency [0]");
            var4.a((byte)4);
            break;
         case 14:
            var4.setNumber(43);
            var4.a("Comma");
            var4.a((byte)4);
            break;
         case 15:
            var4.setNumber(41);
            var4.a("Comma [0]");
            var4.a((byte)4);
            break;
         default:
            var4.a((byte)8);
         }

         com.aspose.cells.b.a.a.ze.a(this.a, (Object)var4);
      }

      for(var5 = 0; var5 < this.a.size(); ++var5) {
         var4 = (Style)this.a.get(var5);
         if (var4.c() != null && !"".equals(var4.c())) {
            this.c.r().a(var4);
         }
      }

   }

   private int b(Style var1, int var2) {
      if (var2 < 0) {
         var2 = this.a.size();
         if (this.b && var2 > 32768) {
            int var3 = this.a(false, 32768, 0);
            this.b = false;
            if (var3 > 0) {
               var2 = this.a.size();
               if (var2 - var3 << 3 < var2) {
                  this.c();
                  var2 = this.a.size();
               } else {
                  for(int var4 = 16; var4 < var2; ++var4) {
                     if (this.a.get(var4) == null) {
                        if (var1.h() <= var4) {
                           this.a.set(var4, var1);
                           return var4;
                        }

                        int var5 = var1.h();

                        for(int var6 = var2 - 1; var6 > var5; --var6) {
                           if (this.a.get(var4) != null && ((Style)this.a.get(var4)).h() == var5) {
                              ((Style)this.a.get(var4)).a(var4);
                           }
                        }

                        this.a.set(var4, this.a.get(var5));
                        if (var3 > 1) {
                           ++var4;

                           while(var4 < var5) {
                              if (this.a.get(var4) == null) {
                                 this.a.set(var4, var1);
                                 return var4;
                              }

                              ++var4;
                           }
                        }

                        this.a.set(var5, var1);
                        return var5;
                     }
                  }
               }
            }
         }

         com.aspose.cells.b.a.a.ze.a(this.a, (Object)var1);
      } else {
         this.a.set(var2, var1);
      }

      return var2;
   }

   int a(int var1, int var2) {
      int var3 = this.a.size();
      if (this.a.get(var3 - 1) == null) {
         for(var3 -= 2; var3 > 15 && this.a.get(var3) == null; --var3) {
            ;
         }

         ++var3;
         com.aspose.cells.b.a.a.ze.a(this.a, var3, this.a.size() - var3);
      }

      int var4;
      if (var3 <= var1) {
         var4 = 0;
         --var3;

         while(true) {
            if (var3 <= 15) {
               if (var2 == 1 || var4 == 0 && var2 == 2) {
                  return var4;
               }
               break;
            }

            if (this.a.get(var3) == null) {
               ++var4;
            }

            --var3;
         }
      }

      var4 = this.a(true, var1, var2);
      var3 = this.a.size();
      var1 = var3 - var1;
      if (var4 >= var1) {
         return var4;
      } else {
         boolean var6 = true;

         for(int var8 = var3 - 1; var8 > 15; --var8) {
            if (this.a.get(var8) != null) {
               String var5 = ((Style)this.a.get(var8)).getName();
               if (var5 != null && !"".equals(var5)) {
                  boolean var7 = true;

                  for(int var9 = var3 - 1; var9 > var8; --var9) {
                     if (this.a.get(var9) != null && ((Style)this.a.get(var9)).h() == var8) {
                        var7 = false;
                        break;
                     }
                  }

                  if (var7) {
                     if (var6) {
                        this.a.remove(var8);
                        --var3;
                        if (var2 == 1) {
                           --var1;
                           if (var4 >= var1) {
                              return var4;
                           }
                        }
                     } else {
                        ++var4;
                        this.a.set(var8, (Object)null);
                        if (var2 == 1 && var4 >= var1) {
                           return var4;
                        }
                     }
                  } else {
                     var6 = false;
                  }
               } else {
                  var6 = false;
               }
            }
         }

         return var4;
      }
   }

   private int a(boolean var1, int var2, int var3) {
      boolean[] var4 = new boolean[this.a.size()];
      int var6 = 0;
      boolean var7 = true;

      for(int var8 = var4.length - 1; var8 > 15; --var8) {
         if (var1 && this.a.get(var8) == null) {
            if (var7) {
               this.a.remove(var8);
            } else {
               ++var6;
               var4[var8] = false;
               var7 = false;
            }
         } else {
            String var5 = ((Style)this.a.get(var8)).getName();
            var4[var8] = var5 == null || var5.equals("");
            var7 = false;
         }
      }

      if (var3 == 1) {
         var2 = this.a.size() - var2;
         if (var6 >= var2) {
            return var6;
         }
      } else if (var3 == 2 && var6 == 0 && this.a.size() <= var2) {
         return 0;
      }

      int var16;
      label141:
      for(var16 = this.c.getCount() - 1; var16 > -1; --var16) {
         Cells var18 = this.c.get(var16).getCells();
         ColumnCollection var9 = var18.getColumns();
         if (var9.b != null && var9.b.c() > 0) {
            var4[var9.b.c()] = false;
         }

         int var14;
         int var17;
         for(var17 = var9.getCount() - 1; var17 > -1; --var17) {
            var14 = var9.getColumnByIndex(var17).c();
            if (var14 > 0) {
               var4[var14] = false;
            }
         }

         boolean var15 = true;

         for(var17 = this.a.size() - 1; var17 > 15; --var17) {
            if (var4[var17]) {
               var15 = false;
               break;
            }
         }

         if (var15) {
            return var6;
         }

         zahr var10 = var18.getRows().a.a(-1, -1, false);

         while(true) {
            zp var11;
            do {
               if (!var10.hasNext()) {
                  var15 = true;

                  for(var17 = this.a.size() - 1; var17 > 15; --var17) {
                     if (var4[var17]) {
                        var15 = false;
                        break;
                     }
                  }

                  if (var15) {
                     return var6;
                  }
                  continue label141;
               }

               var11 = var10.e();
               var14 = var11.i();
               if (var14 > 0) {
                  var4[var14] = false;
               }
            } while(var11.a() <= 0);

            zahl var12 = var11.b();

            while(true) {
               int var13 = var12.a();
               if (var13 < 0) {
                  break;
               }

               var14 = var11.g(var13);
               if (var14 > 0) {
                  var4[var14] = false;
               }
            }
         }
      }

      var7 = true;

      for(var16 = this.a.size() - 1; var16 > 15; --var16) {
         if (var4[var16]) {
            if (var7) {
               this.a.remove(var16);
               if (var3 == 1) {
                  --var2;
                  if (var6 >= var2) {
                     return var6;
                  }
               }
            } else {
               ++var6;
               this.a.set(var16, (Object)null);
               if (var3 == 1 && var6 >= var2) {
                  return var6;
               }
            }
         } else {
            var7 = false;
         }
      }

      return var6;
   }

   int[] c() {
      int[] var1 = null;
      int var2 = this.a.size();
      if (this.a.get(var2 - 1) == null) {
         for(var2 -= 2; var2 > 15 && this.a.get(var2) == null; --var2) {
            ;
         }

         ++var2;
         com.aspose.cells.b.a.a.ze.a(this.a, var2, this.a.size() - var2);
         if (var2 < 17) {
            return null;
         }
      }

      int var3 = -1;
      boolean var4 = false;

      for(int var5 = 16; var5 < var2; ++var5) {
         if (this.a.get(var5) == null) {
            if (!var4) {
               var4 = true;
               var1 = new int[var2];
               var1[0] = var5;
               var3 = var5;
            }
         } else if (var4) {
            var1[var5] = var3;
            this.a.set(var3, this.a.get(var5));
            ++var3;
         }
      }

      if (var4) {
         com.aspose.cells.b.a.a.ze.a(this.a, var3, this.a.size() - var3);
      }

      return var1;
   }

   static byte i(Style var0) {
      BorderCollection var1 = var0.d();
      if (var1 == null) {
         return 0;
      } else {
         byte var2 = 0;
         int var3 = var1.getByBorderType(4).getLineStyle();
         if (zbbj.a(var3)) {
            var2 = (byte)(var2 | 12);
         } else if (zbbj.b(var3)) {
            var2 = (byte)(var2 | 8);
         }

         var3 = var0.getBorders().getByBorderType(8).getLineStyle();
         if (zbbj.a(var3)) {
            var2 = (byte)(var2 | 3);
         } else if (zbbj.b(var3)) {
            var2 = (byte)(var2 | 2);
         }

         return var2;
      }
   }

   byte[] d() {
      if (this.a.size() < 16) {
         return null;
      } else {
         boolean var1 = false;
         byte[] var2 = null;
         byte var3 = i((Style)this.a.get(this.a.size() - 1));

         for(int var4 = this.a.size() - 2; var4 > 14; --var4) {
            if (var1) {
               var2[var4] = i((Style)this.a.get(var4));
            } else {
               byte var5 = i((Style)this.a.get(var4));
               if (var5 != var3) {
                  var1 = true;
                  var2 = new byte[this.a.size()];
                  com.aspose.cells.a.c.zc.a(var2, var4 + 1, var2.length, var3);
                  var2[var4] = var5;
               }
            }
         }

         if (var1) {
            return var2;
         } else if (var3 == 0) {
            return null;
         } else {
            return new byte[]{var3};
         }
      }
   }

   // $FF: synthetic method
   public Object get(int x0) {
      return this.a(x0);
   }
}
